NOAA/NWS Cooperative Observer Network
Downloading from the Iowa Environmental Mesonet. (Data taken from the neighboring COOP analysis
Station: DEL NORTE 2E, CO2184
COOP_stations <- read.csv("C:/Users/13074/Documents/ESS580/thesis_project/All_COOP_stations/data_raw/COOP_stations.csv", header = TRUE)
#str(COOP_stations)
COOP_stations$Date <- ymd(COOP_stations$day)
del_norte_clean <- COOP_stations %>% # filter for the timeframe
filter(station == "CO2184") %>%
addWaterYear() %>%
mutate(daymonth = format(as.Date(Date), "%d-%m")) %>%
group_by(waterYear)%>%
mutate(waterDay = (as.integer(difftime(Date, ymd(paste0(waterYear - 1 ,'-09-30')), units = "days")))) %>% na.omit()
del_norte_clean <- del_norte_clean %>%
mutate(avg_T_c = (highc+lowc)/2) %>%
filter(waterYear <= 2022)
write.csv(del_norte_clean,"C:/Users/13074/Documents/ESS580/thesis_project/del_norte/data_clean/del_norte_clean.csv", row.names = FALSE)
str(del_norte_clean)
## grouped_df [47,389 x 13] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ station : chr [1:47389] "CO2184" "CO2184" "CO2184" "CO2184" ...
## $ station_name: chr [1:47389] "DEL NORTE 2E" "DEL NORTE 2E" "DEL NORTE 2E" "DEL NORTE 2E" ...
## $ lat : num [1:47389] 37.7 37.7 37.7 37.7 37.7 ...
## $ lon : num [1:47389] -106 -106 -106 -106 -106 ...
## $ day : chr [1:47389] "1893/01/01" "1893/01/02" "1893/01/03" "1893/01/04" ...
## $ doy : int [1:47389] 1 2 3 4 5 6 7 8 9 10 ...
## $ highc : num [1:47389] 2.2 1.7 9.4 7.2 7.2 7.8 7.2 5 4.4 7.2 ...
## $ lowc : num [1:47389] -13.3 -12.2 -11.7 -11.7 -12.8 -13.3 -13.3 -12.2 -11.1 -11.7 ...
## $ Date : Date[1:47389], format: "1893-01-01" "1893-01-02" ...
## $ waterYear : num [1:47389] 1893 1893 1893 1893 1893 ...
## $ daymonth : chr [1:47389] "01-01" "02-01" "03-01" "04-01" ...
## $ waterDay : int [1:47389] 93 94 95 96 97 98 99 100 101 102 ...
## $ avg_T_c : num [1:47389] -5.55 -5.25 -1.15 -2.25 -2.8 -2.75 -3.05 -3.6 -3.35 -2.25 ...
## - attr(*, "groups")= tibble [130 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ waterYear: num [1:130] 1893 1894 1895 1896 1897 ...
## ..$ .rows : list<int> [1:130]
## .. ..$ : int [1:273] 1 2 3 4 5 6 7 8 9 10 ...
## .. ..$ : int [1:365] 274 275 276 277 278 279 280 281 282 283 ...
## .. ..$ : int [1:365] 639 640 641 642 643 644 645 646 647 648 ...
## .. ..$ : int [1:366] 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 ...
## .. ..$ : int [1:365] 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 ...
## .. ..$ : int [1:365] 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 ...
## .. ..$ : int [1:365] 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 ...
## .. ..$ : int [1:365] 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 ...
## .. ..$ : int [1:365] 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 ...
## .. ..$ : int [1:365] 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 ...
## .. ..$ : int [1:365] 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 ...
## .. ..$ : int [1:366] 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 ...
## .. ..$ : int [1:365] 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 ...
## .. ..$ : int [1:365] 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 ...
## .. ..$ : int [1:365] 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 ...
## .. ..$ : int [1:366] 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 ...
## .. ..$ : int [1:365] 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 ...
## .. ..$ : int [1:365] 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 ...
## .. ..$ : int [1:365] 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 ...
## .. ..$ : int [1:366] 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 ...
## .. ..$ : int [1:365] 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 ...
## .. ..$ : int [1:365] 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 ...
## .. ..$ : int [1:365] 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 ...
## .. ..$ : int [1:366] 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 ...
## .. ..$ : int [1:365] 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 ...
## .. ..$ : int [1:365] 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 ...
## .. ..$ : int [1:365] 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 ...
## .. ..$ : int [1:366] 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 ...
## .. ..$ : int [1:365] 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 ...
## .. ..$ : int [1:365] 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 ...
## .. ..$ : int [1:365] 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 ...
## .. ..$ : int [1:366] 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 ...
## .. ..$ : int [1:365] 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 ...
## .. ..$ : int [1:365] 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 ...
## .. ..$ : int [1:365] 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 ...
## .. ..$ : int [1:366] 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 ...
## .. ..$ : int [1:365] 13057 13058 13059 13060 13061 13062 13063 13064 13065 13066 ...
## .. ..$ : int [1:365] 13422 13423 13424 13425 13426 13427 13428 13429 13430 13431 ...
## .. ..$ : int [1:365] 13787 13788 13789 13790 13791 13792 13793 13794 13795 13796 ...
## .. ..$ : int [1:366] 14152 14153 14154 14155 14156 14157 14158 14159 14160 14161 ...
## .. ..$ : int [1:365] 14518 14519 14520 14521 14522 14523 14524 14525 14526 14527 ...
## .. ..$ : int [1:365] 14883 14884 14885 14886 14887 14888 14889 14890 14891 14892 ...
## .. ..$ : int [1:365] 15248 15249 15250 15251 15252 15253 15254 15255 15256 15257 ...
## .. ..$ : int [1:366] 15613 15614 15615 15616 15617 15618 15619 15620 15621 15622 ...
## .. ..$ : int [1:365] 15979 15980 15981 15982 15983 15984 15985 15986 15987 15988 ...
## .. ..$ : int [1:365] 16344 16345 16346 16347 16348 16349 16350 16351 16352 16353 ...
## .. ..$ : int [1:365] 16709 16710 16711 16712 16713 16714 16715 16716 16717 16718 ...
## .. ..$ : int [1:366] 17074 17075 17076 17077 17078 17079 17080 17081 17082 17083 ...
## .. ..$ : int [1:365] 17440 17441 17442 17443 17444 17445 17446 17447 17448 17449 ...
## .. ..$ : int [1:365] 17805 17806 17807 17808 17809 17810 17811 17812 17813 17814 ...
## .. ..$ : int [1:365] 18170 18171 18172 18173 18174 18175 18176 18177 18178 18179 ...
## .. ..$ : int [1:366] 18535 18536 18537 18538 18539 18540 18541 18542 18543 18544 ...
## .. ..$ : int [1:365] 18901 18902 18903 18904 18905 18906 18907 18908 18909 18910 ...
## .. ..$ : int [1:365] 19266 19267 19268 19269 19270 19271 19272 19273 19274 19275 ...
## .. ..$ : int [1:365] 19631 19632 19633 19634 19635 19636 19637 19638 19639 19640 ...
## .. ..$ : int [1:366] 19996 19997 19998 19999 20000 20001 20002 20003 20004 20005 ...
## .. ..$ : int [1:365] 20362 20363 20364 20365 20366 20367 20368 20369 20370 20371 ...
## .. ..$ : int [1:365] 20727 20728 20729 20730 20731 20732 20733 20734 20735 20736 ...
## .. ..$ : int [1:365] 21092 21093 21094 21095 21096 21097 21098 21099 21100 21101 ...
## .. ..$ : int [1:366] 21457 21458 21459 21460 21461 21462 21463 21464 21465 21466 ...
## .. ..$ : int [1:365] 21823 21824 21825 21826 21827 21828 21829 21830 21831 21832 ...
## .. ..$ : int [1:365] 22188 22189 22190 22191 22192 22193 22194 22195 22196 22197 ...
## .. ..$ : int [1:365] 22553 22554 22555 22556 22557 22558 22559 22560 22561 22562 ...
## .. ..$ : int [1:366] 22918 22919 22920 22921 22922 22923 22924 22925 22926 22927 ...
## .. ..$ : int [1:365] 23284 23285 23286 23287 23288 23289 23290 23291 23292 23293 ...
## .. ..$ : int [1:365] 23649 23650 23651 23652 23653 23654 23655 23656 23657 23658 ...
## .. ..$ : int [1:365] 24014 24015 24016 24017 24018 24019 24020 24021 24022 24023 ...
## .. ..$ : int [1:366] 24379 24380 24381 24382 24383 24384 24385 24386 24387 24388 ...
## .. ..$ : int [1:365] 24745 24746 24747 24748 24749 24750 24751 24752 24753 24754 ...
## .. ..$ : int [1:365] 25110 25111 25112 25113 25114 25115 25116 25117 25118 25119 ...
## .. ..$ : int [1:365] 25475 25476 25477 25478 25479 25480 25481 25482 25483 25484 ...
## .. ..$ : int [1:366] 25840 25841 25842 25843 25844 25845 25846 25847 25848 25849 ...
## .. ..$ : int [1:365] 26206 26207 26208 26209 26210 26211 26212 26213 26214 26215 ...
## .. ..$ : int [1:365] 26571 26572 26573 26574 26575 26576 26577 26578 26579 26580 ...
## .. ..$ : int [1:365] 26936 26937 26938 26939 26940 26941 26942 26943 26944 26945 ...
## .. ..$ : int [1:366] 27301 27302 27303 27304 27305 27306 27307 27308 27309 27310 ...
## .. ..$ : int [1:365] 27667 27668 27669 27670 27671 27672 27673 27674 27675 27676 ...
## .. ..$ : int [1:365] 28032 28033 28034 28035 28036 28037 28038 28039 28040 28041 ...
## .. ..$ : int [1:365] 28397 28398 28399 28400 28401 28402 28403 28404 28405 28406 ...
## .. ..$ : int [1:366] 28762 28763 28764 28765 28766 28767 28768 28769 28770 28771 ...
## .. ..$ : int [1:365] 29128 29129 29130 29131 29132 29133 29134 29135 29136 29137 ...
## .. ..$ : int [1:365] 29493 29494 29495 29496 29497 29498 29499 29500 29501 29502 ...
## .. ..$ : int [1:365] 29858 29859 29860 29861 29862 29863 29864 29865 29866 29867 ...
## .. ..$ : int [1:366] 30223 30224 30225 30226 30227 30228 30229 30230 30231 30232 ...
## .. ..$ : int [1:365] 30589 30590 30591 30592 30593 30594 30595 30596 30597 30598 ...
## .. ..$ : int [1:365] 30954 30955 30956 30957 30958 30959 30960 30961 30962 30963 ...
## .. ..$ : int [1:365] 31319 31320 31321 31322 31323 31324 31325 31326 31327 31328 ...
## .. ..$ : int [1:366] 31684 31685 31686 31687 31688 31689 31690 31691 31692 31693 ...
## .. ..$ : int [1:365] 32050 32051 32052 32053 32054 32055 32056 32057 32058 32059 ...
## .. ..$ : int [1:365] 32415 32416 32417 32418 32419 32420 32421 32422 32423 32424 ...
## .. ..$ : int [1:365] 32780 32781 32782 32783 32784 32785 32786 32787 32788 32789 ...
## .. ..$ : int [1:366] 33145 33146 33147 33148 33149 33150 33151 33152 33153 33154 ...
## .. ..$ : int [1:365] 33511 33512 33513 33514 33515 33516 33517 33518 33519 33520 ...
## .. ..$ : int [1:365] 33876 33877 33878 33879 33880 33881 33882 33883 33884 33885 ...
## .. ..$ : int [1:365] 34241 34242 34243 34244 34245 34246 34247 34248 34249 34250 ...
## .. ..$ : int [1:366] 34606 34607 34608 34609 34610 34611 34612 34613 34614 34615 ...
## .. ..$ : int [1:365] 34972 34973 34974 34975 34976 34977 34978 34979 34980 34981 ...
## .. ..$ : int [1:365] 35337 35338 35339 35340 35341 35342 35343 35344 35345 35346 ...
## .. ..$ : int [1:365] 35702 35703 35704 35705 35706 35707 35708 35709 35710 35711 ...
## .. .. [list output truncated]
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
ggplot(del_norte_clean, aes(x = Date, y = avg_T_c)) +
geom_line() + #lwd = 2) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('Daily temperature (°C)') +
xlab('Date')
#Check for outliers....
#dygraph
del_norte_temp_xts <- xts(del_norte_clean$avg_T_c, order.by = del_norte_clean$Date)
dygraph(del_norte_temp_xts) %>%
dyAxis("y", label = "Daily temperature (°C)")
There are two pieces of detrended: shifting by the mean and the sigmoidal detrending.
#SF figured out the yearly average by water year
#average water year temperature
del_norte_yearly_wy_aver <- del_norte_clean %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver <- del_norte_yearly_wy_aver %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver <- del_norte_daily_wy_aver %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver$aver_day_temp))
#str(daily_wy_aver)
# try to show all years as means.
del_norte_daily_wy_aver2 <- del_norte_daily_wy_aver %>%
#filter(waterYear == "1987" | waterYear == "2021") %>%
group_by(waterDay) %>%
mutate(date_temp = mean(avg_T_c))
del_norte_daily_wy_aver2$date_temp <- signif(del_norte_daily_wy_aver2$date_temp,3) #reduce the sig figs
ggplot(del_norte_daily_wy_aver2, aes(x = waterDay, y = date_temp))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
#geom_smooth(method = "lm", se=FALSE) +
ylab('Average Daily temperature (°C)') +
xlab('Day of water year')
To figure out the standard deviation for each year, I want the “residual” for each daily value.
The standard deviation will be the daily residual minus the mean of the residuals by water year, summed and squared, then divided by the number of observations minus one. The square root of the resulting value of which is thus the standard deviation for the water year.
Determining residuals
del_norte_standard_dev <- del_norte_daily_wy_aver %>%
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual)))
mean(del_norte_standard_dev$residual)
## [1] -6.725794e-17
The mean of the residuals is close enough to zero
Calculating standard deviation for the timeseries
del_norte_standard_dev_all <- del_norte_standard_dev %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all <- del_norte_standard_dev_all %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1893 | 2.740958 |
| 1894 | 3.037105 |
| 1895 | 3.046082 |
| 1896 | 2.937365 |
| 1897 | 3.070332 |
| 1898 | 3.111323 |
| 1899 | 3.164378 |
| 1900 | 2.799577 |
| 1901 | 3.151202 |
| 1902 | 3.328052 |
| 1903 | 3.214077 |
| 1904 | 2.948437 |
| 1905 | 2.751700 |
| 1906 | 2.665888 |
| 1907 | 3.615727 |
| 1908 | 2.450495 |
| 1909 | 3.278400 |
| 1910 | 3.713749 |
| 1911 | 3.208232 |
| 1912 | 2.855865 |
| 1913 | 2.945180 |
| 1914 | 2.921295 |
| 1915 | 2.524662 |
| 1916 | 3.028834 |
| 1917 | 3.104708 |
| 1918 | 3.221143 |
| 1919 | 3.487615 |
| 1920 | 3.284928 |
| 1921 | 3.217066 |
| 1922 | 3.563001 |
| 1923 | 2.652857 |
| 1924 | 3.245609 |
| 1925 | 3.417730 |
| 1926 | 2.866595 |
| 1927 | 3.589082 |
| 1928 | 3.617920 |
| 1929 | 2.782898 |
| 1930 | 3.668425 |
| 1931 | 2.869577 |
| 1932 | 3.801319 |
| 1933 | 3.736147 |
| 1934 | 2.779587 |
| 1935 | 3.457251 |
| 1936 | 2.943620 |
| 1937 | 3.393346 |
| 1938 | 3.051067 |
| 1939 | 3.593912 |
| 1940 | 3.117468 |
| 1941 | 3.164931 |
| 1942 | 3.151584 |
| 1943 | 3.161053 |
| 1944 | 3.157730 |
| 1945 | 2.917152 |
| 1946 | 3.149310 |
| 1947 | 3.393296 |
| 1948 | 3.916021 |
| 1949 | 3.328426 |
| 1950 | 3.412837 |
| 1951 | 3.458726 |
| 1952 | 3.375300 |
| 1953 | 4.057674 |
| 1954 | 3.392285 |
| 1955 | 3.340121 |
| 1956 | 3.633411 |
| 1957 | 3.650223 |
| 1958 | 3.127558 |
| 1959 | 3.339042 |
| 1960 | 3.637356 |
| 1961 | 2.694270 |
| 1962 | 3.846459 |
| 1963 | 3.872155 |
| 1964 | 3.495143 |
| 1965 | 3.563646 |
| 1966 | 3.484771 |
| 1967 | 3.535642 |
| 1968 | 3.149760 |
| 1969 | 3.324331 |
| 1970 | 3.910590 |
| 1971 | 4.181354 |
| 1972 | 3.643518 |
| 1973 | 3.221640 |
| 1974 | 3.429388 |
| 1975 | 3.262061 |
| 1976 | 3.252163 |
| 1977 | 3.211674 |
| 1978 | 3.143541 |
| 1979 | 3.811463 |
| 1980 | 3.391151 |
| 1981 | 3.484396 |
| 1982 | 3.300293 |
| 1983 | 3.280656 |
| 1984 | 3.926091 |
| 1985 | 3.341804 |
| 1986 | 3.646847 |
| 1987 | 3.023891 |
| 1988 | 3.368552 |
| 1989 | 3.656772 |
| 1990 | 3.124970 |
| 1991 | 3.395892 |
| 1992 | 3.601489 |
| 1993 | 3.184838 |
| 1994 | 3.336835 |
| 1995 | 3.620765 |
| 1996 | 3.591308 |
| 1997 | 3.665893 |
| 1998 | 2.970907 |
| 1999 | 3.527431 |
| 2000 | 3.178621 |
| 2001 | 3.175938 |
| 2002 | 3.217070 |
| 2003 | 3.307998 |
| 2004 | 3.782079 |
| 2005 | 3.386965 |
| 2006 | 3.443764 |
| 2007 | 3.897259 |
| 2008 | 4.018257 |
| 2009 | 3.171267 |
| 2010 | 3.339862 |
| 2011 | 3.726831 |
| 2012 | 3.531950 |
| 2013 | 4.461862 |
| 2014 | 3.532266 |
| 2015 | 3.271466 |
| 2016 | 3.184080 |
| 2017 | 3.437080 |
| 2018 | 2.970357 |
| 2019 | 3.253822 |
| 2020 | 3.654399 |
| 2021 | 3.375819 |
| 2022 | 3.482027 |
ggplot(del_norte_standard_dev_all, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
sd_mk_all <- mk.test(del_norte_standard_dev_all$sd_2)
print(sd_mk_all)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all$sd_2
## z = 4.7174, n = 130, p-value = 2.389e-06
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 2.345000e+03 2.468917e+05 2.796661e-01
sd_sens_all <- sens.slope(del_norte_standard_dev_all$sd_2)
print(sd_sens_all)
##
## Sen's slope
##
## data: del_norte_standard_dev_all$sd_2
## z = 4.7174, n = 130, p-value = 2.389e-06
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## 0.002192823 0.005139811
## sample estimates:
## Sen's slope
## 0.00370004
del_norte_standard_dev_87 <- del_norte_standard_dev %>%
filter(waterYear == 1987) %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean)
del_norte_standard_dev_87 <- del_norte_standard_dev_87 %>%
group_by(waterYear) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((sum(tabulate(del_norte_standard_dev_87$waterDay)))-1)))^(0.5))
head(del_norte_standard_dev_87$sd_2, 1)
## [1] 3.023891
Looks good.
del_norte_standard_dev_all_summer <- del_norte_standard_dev %>%
filter(waterDay >= 244 & waterDay <= 335) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_summer <- del_norte_standard_dev_all_summer %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_summer %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1893 | 1.616702 |
| 1894 | 1.718305 |
| 1895 | 1.724864 |
| 1896 | 1.545493 |
| 1897 | 1.579815 |
| 1898 | 1.786310 |
| 1899 | 1.547891 |
| 1900 | 1.651407 |
| 1901 | 1.751337 |
| 1902 | 2.194414 |
| 1903 | 1.861475 |
| 1904 | 1.394076 |
| 1905 | 1.468259 |
| 1906 | 1.913958 |
| 1907 | 1.628179 |
| 1908 | 1.501797 |
| 1909 | 1.307557 |
| 1910 | 1.428952 |
| 1911 | 1.369587 |
| 1912 | 1.790366 |
| 1913 | 1.798927 |
| 1914 | 1.288604 |
| 1915 | 1.323734 |
| 1916 | 1.108404 |
| 1917 | 1.663379 |
| 1918 | 1.755367 |
| 1919 | 2.058061 |
| 1920 | 1.571214 |
| 1921 | 1.821923 |
| 1922 | 1.441676 |
| 1923 | 1.338064 |
| 1924 | 1.444628 |
| 1925 | 1.610093 |
| 1926 | 1.706964 |
| 1927 | 1.756002 |
| 1928 | 1.842276 |
| 1929 | 1.322699 |
| 1930 | 1.862230 |
| 1931 | 1.348963 |
| 1932 | 1.501092 |
| 1933 | 1.390344 |
| 1934 | 1.258517 |
| 1935 | 1.271380 |
| 1936 | 1.884833 |
| 1937 | 2.427488 |
| 1938 | 1.686255 |
| 1939 | 1.903632 |
| 1940 | 1.734099 |
| 1941 | 1.835093 |
| 1942 | 1.550206 |
| 1943 | 1.743478 |
| 1944 | 1.610272 |
| 1945 | 2.019325 |
| 1946 | 1.996323 |
| 1947 | 2.125673 |
| 1948 | 2.066701 |
| 1949 | 1.277370 |
| 1950 | 2.182231 |
| 1951 | 1.905283 |
| 1952 | 1.793921 |
| 1953 | 1.640122 |
| 1954 | 1.882011 |
| 1955 | 1.912099 |
| 1956 | 1.836740 |
| 1957 | 2.003684 |
| 1958 | 1.687804 |
| 1959 | 1.461210 |
| 1960 | 1.737903 |
| 1961 | 1.534011 |
| 1962 | 1.644398 |
| 1963 | 1.545998 |
| 1964 | 1.825389 |
| 1965 | 1.573278 |
| 1966 | 1.359337 |
| 1967 | 1.926409 |
| 1968 | 1.829141 |
| 1969 | 2.277293 |
| 1970 | 2.097444 |
| 1971 | 1.574299 |
| 1972 | 1.766186 |
| 1973 | 2.431246 |
| 1974 | 2.009254 |
| 1975 | 1.653547 |
| 1976 | 1.807136 |
| 1977 | 1.478783 |
| 1978 | 1.522808 |
| 1979 | 1.842975 |
| 1980 | 1.583710 |
| 1981 | 2.314608 |
| 1982 | 1.677585 |
| 1983 | 2.024668 |
| 1984 | 1.659605 |
| 1985 | 2.137010 |
| 1986 | 1.677283 |
| 1987 | 1.714587 |
| 1988 | 1.689609 |
| 1989 | 1.568497 |
| 1990 | 2.217696 |
| 1991 | 1.503807 |
| 1992 | 1.913593 |
| 1993 | 1.767483 |
| 1994 | 1.597623 |
| 1995 | 2.223239 |
| 1996 | 1.613703 |
| 1997 | 1.810866 |
| 1998 | 2.010522 |
| 1999 | 1.713251 |
| 2000 | 1.643233 |
| 2001 | 1.731585 |
| 2002 | 1.747722 |
| 2003 | 2.082463 |
| 2004 | 2.240902 |
| 2005 | 1.848249 |
| 2006 | 2.077114 |
| 2007 | 1.677673 |
| 2008 | 1.862177 |
| 2009 | 1.738860 |
| 2010 | 1.924970 |
| 2011 | 1.453084 |
| 2012 | 1.537989 |
| 2013 | 2.224635 |
| 2014 | 1.960436 |
| 2015 | 1.769018 |
| 2016 | 2.026886 |
| 2017 | 2.032470 |
| 2018 | 1.799639 |
| 2019 | 1.786262 |
| 2020 | 1.891842 |
| 2021 | 2.312794 |
| 2022 | 2.030081 |
ggplot(del_norte_standard_dev_all_summer, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Jun-Aug standard deviation for water years 1900-2021
Summer standard deviations.
sd_mk_summer <- mk.test(del_norte_standard_dev_all_summer$sd_2)
print(sd_mk_summer)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_summer$sd_2
## z = 4.1499, n = 130, p-value = 3.327e-05
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 2.063000e+03 2.468917e+05 2.460346e-01
sd_sens_summer <- sens.slope(del_norte_standard_dev_all_summer$sd_2)
print(sd_sens_summer)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_summer$sd_2
## z = 4.1499, n = 130, p-value = 3.327e-05
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## 0.001370228 0.003733014
## sample estimates:
## Sen's slope
## 0.002586023
del_norte_standard_dev_all_winter <- del_norte_standard_dev %>%
filter(waterDay >= 32 & waterDay <= 182) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_winter <- del_norte_standard_dev_all_winter %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_winter %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1893 | 3.594948 |
| 1894 | 3.918018 |
| 1895 | 3.861162 |
| 1896 | 3.696494 |
| 1897 | 3.947023 |
| 1898 | 3.927829 |
| 1899 | 3.875649 |
| 1900 | 3.285578 |
| 1901 | 4.012814 |
| 1902 | 4.336653 |
| 1903 | 4.086321 |
| 1904 | 3.784659 |
| 1905 | 3.610353 |
| 1906 | 3.291979 |
| 1907 | 3.371937 |
| 1908 | 2.729394 |
| 1909 | 3.890538 |
| 1910 | 5.112050 |
| 1911 | 3.952553 |
| 1912 | 3.432775 |
| 1913 | 3.445698 |
| 1914 | 3.869463 |
| 1915 | 3.073329 |
| 1916 | 3.858286 |
| 1917 | 3.783862 |
| 1918 | 3.958981 |
| 1919 | 3.666477 |
| 1920 | 3.742279 |
| 1921 | 3.695989 |
| 1922 | 4.894954 |
| 1923 | 3.590838 |
| 1924 | 4.392766 |
| 1925 | 4.542657 |
| 1926 | 3.612205 |
| 1927 | 3.979158 |
| 1928 | 4.045089 |
| 1929 | 3.505447 |
| 1930 | 4.817291 |
| 1931 | 3.587287 |
| 1932 | 5.163963 |
| 1933 | 4.741613 |
| 1934 | 3.263905 |
| 1935 | 4.361538 |
| 1936 | 3.238379 |
| 1937 | 4.256182 |
| 1938 | 3.366052 |
| 1939 | 4.586916 |
| 1940 | 4.286941 |
| 1941 | 3.619731 |
| 1942 | 4.203736 |
| 1943 | 3.800891 |
| 1944 | 4.013060 |
| 1945 | 3.148753 |
| 1946 | 3.905203 |
| 1947 | 4.061710 |
| 1948 | 4.855627 |
| 1949 | 4.313098 |
| 1950 | 4.169221 |
| 1951 | 4.430057 |
| 1952 | 4.188744 |
| 1953 | 5.313154 |
| 1954 | 4.582321 |
| 1955 | 4.307055 |
| 1956 | 4.925458 |
| 1957 | 4.510967 |
| 1958 | 4.116403 |
| 1959 | 3.978053 |
| 1960 | 4.548065 |
| 1961 | 3.075771 |
| 1962 | 5.078738 |
| 1963 | 5.461302 |
| 1964 | 4.495260 |
| 1965 | 4.616120 |
| 1966 | 4.639273 |
| 1967 | 4.096578 |
| 1968 | 3.916700 |
| 1969 | 4.142396 |
| 1970 | 4.636417 |
| 1971 | 5.447052 |
| 1972 | 4.782661 |
| 1973 | 3.169461 |
| 1974 | 4.263881 |
| 1975 | 4.205329 |
| 1976 | 4.188874 |
| 1977 | 4.145999 |
| 1978 | 3.258374 |
| 1979 | 4.535424 |
| 1980 | 4.261592 |
| 1981 | 3.886644 |
| 1982 | 4.238960 |
| 1983 | 3.283920 |
| 1984 | 4.387854 |
| 1985 | 3.933623 |
| 1986 | 4.700489 |
| 1987 | 3.732172 |
| 1988 | 3.950937 |
| 1989 | 4.576652 |
| 1990 | 3.660709 |
| 1991 | 4.447670 |
| 1992 | 3.495688 |
| 1993 | 3.867566 |
| 1994 | 4.005916 |
| 1995 | 4.174198 |
| 1996 | 4.206461 |
| 1997 | 4.445972 |
| 1998 | 3.575336 |
| 1999 | 3.759359 |
| 2000 | 3.638909 |
| 2001 | 3.931654 |
| 2002 | 3.809549 |
| 2003 | 4.027876 |
| 2004 | 4.712365 |
| 2005 | 4.368520 |
| 2006 | 4.235769 |
| 2007 | 5.105147 |
| 2008 | 4.933385 |
| 2009 | 3.928699 |
| 2010 | 3.569531 |
| 2011 | 4.774349 |
| 2012 | 4.242636 |
| 2013 | 5.259241 |
| 2014 | 4.244943 |
| 2015 | 4.038394 |
| 2016 | 3.870281 |
| 2017 | 4.144996 |
| 2018 | 3.433675 |
| 2019 | 3.841134 |
| 2020 | 3.906713 |
| 2021 | 3.487736 |
| 2022 | 4.309173 |
ggplot(del_norte_standard_dev_all_winter, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Nov-Mar standard deviation for water years 1900-2021
Winter standard deviations.
sd_mk_winter <- mk.test(del_norte_standard_dev_all_winter$sd_2)
print(sd_mk_winter)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_winter$sd_2
## z = 2.3305, n = 130, p-value = 0.01978
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 1.159000e+03 2.468917e+05 1.382230e-01
sd_sens_winter <- sens.slope(del_norte_standard_dev_all_winter$sd_2)
print(sd_sens_winter)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_winter$sd_2
## z = 2.3305, n = 130, p-value = 0.01978
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## 0.0005225851 0.0052967417
## sample estimates:
## Sen's slope
## 0.002943756
Smaller time increments might be useful….
#average water year temperature
del_norte_yearly_wy_aver_87_21 <- del_norte_clean %>%
filter(waterYear >= 1987 & waterYear <= 2021) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_87_21 <- del_norte_yearly_wy_aver_87_21 %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_87_21 <- del_norte_daily_wy_aver_87_21 %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_87_21$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_87_21 <- del_norte_daily_wy_aver_87_21 %>%
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual)))
del_norte_standard_dev_87_21 <- del_norte_standard_dev_87_21 %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_87_21 %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1987 | 3.049446 |
| 1988 | 3.274043 |
| 1989 | 3.541523 |
| 1990 | 3.099801 |
| 1991 | 3.311386 |
| 1992 | 3.458707 |
| 1993 | 3.042800 |
| 1994 | 3.241010 |
| 1995 | 3.713253 |
| 1996 | 3.656668 |
| 1997 | 3.580422 |
| 1998 | 2.919295 |
| 1999 | 3.670739 |
| 2000 | 3.368763 |
| 2001 | 3.103862 |
| 2002 | 3.124365 |
| 2003 | 3.283259 |
| 2004 | 3.745359 |
| 2005 | 3.402699 |
| 2006 | 3.495618 |
| 2007 | 3.690314 |
| 2008 | 3.887032 |
| 2009 | 3.156753 |
| 2010 | 3.308721 |
| 2011 | 3.722723 |
| 2012 | 3.320809 |
| 2013 | 4.310065 |
| 2014 | 3.362813 |
| 2015 | 3.325711 |
| 2016 | 3.130585 |
| 2017 | 3.362125 |
| 2018 | 3.095342 |
| 2019 | 3.249459 |
| 2020 | 3.440448 |
| 2021 | 3.326127 |
ggplot(del_norte_standard_dev_87_21, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
SD for water years 1987 - 2021
1987 - 2021 Mann-Kendall & Sen’s Slope
sd_mk_87_21 <- mk.test(del_norte_standard_dev_87_21$sd_2)
print(sd_mk_87_21)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_87_21$sd_2
## z = 0.82368, n = 35, p-value = 0.4101
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 5.900000e+01 4.958333e+03 9.915966e-02
sd_sens_87_21 <- sens.slope(del_norte_standard_dev_87_21$sd_2)
print(sd_sens_87_21)
##
## Sen's slope
##
## data: del_norte_standard_dev_87_21$sd_2
## z = 0.82368, n = 35, p-value = 0.4101
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.006279148 0.011354897
## sample estimates:
## Sen's slope
## 0.003037291
# using the 1987- 2021 data frame
del_norte_standard_dev_all_87_21_summer <- del_norte_daily_wy_aver_87_21 %>%
filter(waterDay >= 244 & waterDay <= 335) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_87_21_summer <- del_norte_standard_dev_all_87_21_summer %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_87_21_summer %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1987 | 1.666876 |
| 1988 | 1.638926 |
| 1989 | 1.565457 |
| 1990 | 2.124272 |
| 1991 | 1.542094 |
| 1992 | 1.881595 |
| 1993 | 1.830733 |
| 1994 | 1.560719 |
| 1995 | 2.318927 |
| 1996 | 1.542480 |
| 1997 | 1.722056 |
| 1998 | 1.983380 |
| 1999 | 1.738525 |
| 2000 | 1.628533 |
| 2001 | 1.634000 |
| 2002 | 1.675954 |
| 2003 | 2.113700 |
| 2004 | 2.212596 |
| 2005 | 1.832730 |
| 2006 | 1.958719 |
| 2007 | 1.710145 |
| 2008 | 1.857423 |
| 2009 | 1.784096 |
| 2010 | 1.871881 |
| 2011 | 1.483893 |
| 2012 | 1.475483 |
| 2013 | 2.210304 |
| 2014 | 1.848449 |
| 2015 | 1.745719 |
| 2016 | 1.954333 |
| 2017 | 1.915606 |
| 2018 | 1.770882 |
| 2019 | 1.863582 |
| 2020 | 1.875031 |
| 2021 | 2.348222 |
ggplot(del_norte_standard_dev_all_87_21_summer, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Summer season SD for water years 1987 - 2021
Summer 87-21 standard deviations.
sd_mk_summer <- mk.test(del_norte_standard_dev_all_87_21_summer$sd_2)
print(sd_mk_summer)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_87_21_summer$sd_2
## z = 1.7326, n = 35, p-value = 0.08317
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 123.0000000 4958.3333333 0.2067227
sd_sens_summer <- sens.slope(del_norte_standard_dev_all_summer$sd_2)
print(sd_sens_summer)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_summer$sd_2
## z = 4.1499, n = 130, p-value = 3.327e-05
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## 0.001370228 0.003733014
## sample estimates:
## Sen's slope
## 0.002586023
# using the 1987- 2021 data frame
del_norte_standard_dev_all_87_21_winter <- del_norte_daily_wy_aver_87_21 %>%
filter(waterDay >= 32 & waterDay <= 182) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_87_21_winter <- del_norte_standard_dev_all_87_21_winter %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_87_21_winter %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1987 | 3.813461 |
| 1988 | 3.892916 |
| 1989 | 4.404551 |
| 1990 | 3.573400 |
| 1991 | 4.316134 |
| 1992 | 3.366099 |
| 1993 | 3.640254 |
| 1994 | 3.883465 |
| 1995 | 4.179941 |
| 1996 | 4.277382 |
| 1997 | 4.256606 |
| 1998 | 3.481668 |
| 1999 | 3.837016 |
| 2000 | 3.877807 |
| 2001 | 3.904396 |
| 2002 | 3.811252 |
| 2003 | 3.948204 |
| 2004 | 4.612768 |
| 2005 | 4.335625 |
| 2006 | 4.355642 |
| 2007 | 4.797987 |
| 2008 | 4.829273 |
| 2009 | 3.841686 |
| 2010 | 3.665058 |
| 2011 | 4.831621 |
| 2012 | 4.009317 |
| 2013 | 5.176774 |
| 2014 | 4.002662 |
| 2015 | 4.041898 |
| 2016 | 3.764093 |
| 2017 | 3.923724 |
| 2018 | 3.631138 |
| 2019 | 3.914099 |
| 2020 | 3.678198 |
| 2021 | 3.514880 |
ggplot(del_norte_standard_dev_all_87_21_winter, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Winter season SD for water years 1987 - 2021
1987 - 2021 winter Mann-Kendall & Sen’s Slope
sd_mk_87_21_winter <- mk.test(del_norte_standard_dev_all_87_21_winter$sd_2)
print(sd_mk_87_21_winter)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_87_21_winter$sd_2
## z = 0.31243, n = 35, p-value = 0.7547
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 2.300000e+01 4.958333e+03 3.865546e-02
sd_sens_87_21_winter <- sens.slope(del_norte_standard_dev_all_87_21_winter$sd_2)
print(sd_sens_87_21_winter)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_87_21_winter$sd_2
## z = 0.31243, n = 35, p-value = 0.7547
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.01360253 0.01569025
## sample estimates:
## Sen's slope
## 0.001405344
early_del_norte <- del_norte_clean %>%
filter(waterYear >= 1893 & waterYear <= 1915)
del_norte_temp_min_xts <- xts(early_del_norte$lowc, order.by = early_del_norte$Date)
dygraph(del_norte_temp_min_xts) %>%
dyAxis("y", label = "Daily min temperature (°C)")
Daily minimum temperatures for water years 1900-1915
del_norte_temp_max_xts <- xts(early_del_norte$highc, order.by = early_del_norte$Date)
dygraph(del_norte_temp_max_xts) %>%
dyAxis("y", label = "Daily max temperature (°C)")
Daily minimum temperatures for water years 1900-1915
#average water year temperature
del_norte_yearly_wy_aver_00_30 <- del_norte_clean %>%
filter(waterYear >= 1900 & waterYear <= 1930) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_00_30 <- del_norte_yearly_wy_aver_00_30 %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_00_30 <- del_norte_daily_wy_aver_00_30 %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_00_30$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_00_30 <- del_norte_daily_wy_aver_00_30 %>%
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual)))
del_norte_standard_dev_00_30 <- del_norte_standard_dev_00_30 %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_00_30 %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1900 | 2.670640 |
| 1901 | 3.048471 |
| 1902 | 3.170437 |
| 1903 | 3.265402 |
| 1904 | 2.847399 |
| 1905 | 2.714680 |
| 1906 | 2.652614 |
| 1907 | 3.505271 |
| 1908 | 2.402912 |
| 1909 | 3.184523 |
| 1910 | 3.698099 |
| 1911 | 3.166985 |
| 1912 | 2.802507 |
| 1913 | 2.970735 |
| 1914 | 2.921311 |
| 1915 | 2.583496 |
| 1916 | 2.912074 |
| 1917 | 3.079872 |
| 1918 | 3.150513 |
| 1919 | 3.739201 |
| 1920 | 3.145837 |
| 1921 | 3.072360 |
| 1922 | 3.580464 |
| 1923 | 2.578237 |
| 1924 | 3.233255 |
| 1925 | 3.417131 |
| 1926 | 2.894750 |
| 1927 | 3.398953 |
| 1928 | 3.422627 |
| 1929 | 2.791312 |
| 1930 | 3.644880 |
ggplot(del_norte_standard_dev_00_30, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
SD for water years 1900 - 1930
1900 - 1930 Mann-Kendall & Sen’s Slope
sd_mk_00_30 <- mk.test(del_norte_standard_dev_00_30$sd_2)
print(sd_mk_00_30)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_00_30$sd_2
## z = 1.4617, n = 31, p-value = 0.1438
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 87.0000000 3461.6666667 0.1870968
sd_sens_00_30 <- sens.slope(del_norte_standard_dev_00_30$sd_2)
print(sd_sens_00_30)
##
## Sen's slope
##
## data: del_norte_standard_dev_00_30$sd_2
## z = 1.4617, n = 31, p-value = 0.1438
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.003004377 0.029983672
## sample estimates:
## Sen's slope
## 0.01405475
Summer temperature standard deviation
# using the 1900- 1930 data frame
del_norte_standard_dev_all_00_30_summer <- del_norte_daily_wy_aver_00_30 %>%
filter(waterDay >= 244 & waterDay <= 335) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_00_30_summer <- del_norte_standard_dev_all_00_30_summer %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_00_30_summer %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1900 | 1.658110 |
| 1901 | 1.649685 |
| 1902 | 2.128479 |
| 1903 | 1.788408 |
| 1904 | 1.387950 |
| 1905 | 1.465325 |
| 1906 | 1.864438 |
| 1907 | 1.646117 |
| 1908 | 1.458500 |
| 1909 | 1.286226 |
| 1910 | 1.440182 |
| 1911 | 1.461181 |
| 1912 | 1.725176 |
| 1913 | 1.857125 |
| 1914 | 1.280254 |
| 1915 | 1.253525 |
| 1916 | 1.104074 |
| 1917 | 1.576149 |
| 1918 | 1.792958 |
| 1919 | 2.011147 |
| 1920 | 1.567232 |
| 1921 | 1.714232 |
| 1922 | 1.435451 |
| 1923 | 1.282250 |
| 1924 | 1.437670 |
| 1925 | 1.558668 |
| 1926 | 1.687437 |
| 1927 | 1.768045 |
| 1928 | 1.856520 |
| 1929 | 1.251370 |
| 1930 | 1.919901 |
ggplot(del_norte_standard_dev_all_00_30_summer, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Summer season SD for water years 1900 - 1930
Mann-Kendall & Sen’s Slope
Summer 00-30 standard deviations.
sd_mk_00_30_summer <- mk.test(del_norte_standard_dev_all_00_30_summer$sd_2)
print(sd_mk_00_30_summer)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_00_30_summer$sd_2
## z = -0.30594, n = 31, p-value = 0.7597
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## -19.00000000 3461.66666667 -0.04086022
sd_sens_00_30_summer <- sens.slope(del_norte_standard_dev_all_00_30_summer$sd_2)
print(sd_sens_00_30_summer)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_00_30_summer$sd_2
## z = -0.30594, n = 31, p-value = 0.7597
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.01175000 0.01120514
## sample estimates:
## Sen's slope
## -0.001044823
Winter temperature standard deviation
# using the 00-30 data frame
del_norte_standard_dev_all_00_30_winter <- del_norte_daily_wy_aver_00_30 %>%
filter(waterDay >= 32 & waterDay <= 182) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_00_30_winter <- del_norte_standard_dev_all_00_30_winter %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_00_30_winter %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1900 | 3.179435 |
| 1901 | 3.915741 |
| 1902 | 4.137566 |
| 1903 | 4.119047 |
| 1904 | 3.722432 |
| 1905 | 3.586544 |
| 1906 | 3.310207 |
| 1907 | 3.461982 |
| 1908 | 2.748450 |
| 1909 | 3.731511 |
| 1910 | 5.013542 |
| 1911 | 4.025188 |
| 1912 | 3.433575 |
| 1913 | 3.314971 |
| 1914 | 3.782262 |
| 1915 | 3.148231 |
| 1916 | 3.759962 |
| 1917 | 3.659457 |
| 1918 | 3.953960 |
| 1919 | 3.891303 |
| 1920 | 3.634187 |
| 1921 | 3.610989 |
| 1922 | 4.945866 |
| 1923 | 3.512318 |
| 1924 | 4.340311 |
| 1925 | 4.485393 |
| 1926 | 3.585932 |
| 1927 | 3.728669 |
| 1928 | 3.834410 |
| 1929 | 3.473418 |
| 1930 | 4.760612 |
ggplot(del_norte_standard_dev_all_00_30_winter, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Winter season SD for water years 1900 - 1930
Mann-Kendall & Sen’s Slope
1900 - 1930 winter Mann-Kendall & Sen’s Slope
sd_mk_00_30_winter <- mk.test(del_norte_standard_dev_all_00_30_winter$sd_2)
print(sd_mk_00_30_winter)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_00_30_winter$sd_2
## z = 0.88381, n = 31, p-value = 0.3768
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 53.0000000 3461.6666667 0.1139785
sd_sens_00_30_winter <- sens.slope(del_norte_standard_dev_all_00_30_winter$sd_2)
print(sd_sens_00_30_winter)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_00_30_winter$sd_2
## z = 0.88381, n = 31, p-value = 0.3768
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.01105860 0.03191729
## sample estimates:
## Sen's slope
## 0.01042583
#average water year temperature
del_norte_yearly_wy_aver_31_60 <- del_norte_clean %>%
filter(waterYear >= 1931 & waterYear <= 1960) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_31_60 <- del_norte_yearly_wy_aver_31_60 %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_31_60 <- del_norte_daily_wy_aver_31_60 %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_31_60$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_31_60 <- del_norte_daily_wy_aver_31_60 %>%
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual)))
del_norte_standard_dev_31_60 <- del_norte_standard_dev_31_60 %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_31_60 %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1931 | 2.885049 |
| 1932 | 3.770130 |
| 1933 | 3.852008 |
| 1934 | 2.838981 |
| 1935 | 3.380770 |
| 1936 | 2.872823 |
| 1937 | 3.309781 |
| 1938 | 3.071443 |
| 1939 | 3.587949 |
| 1940 | 3.077642 |
| 1941 | 3.191093 |
| 1942 | 3.047844 |
| 1943 | 3.060907 |
| 1944 | 3.193958 |
| 1945 | 2.851190 |
| 1946 | 3.120056 |
| 1947 | 3.301030 |
| 1948 | 3.802148 |
| 1949 | 3.270271 |
| 1950 | 3.504621 |
| 1951 | 3.396156 |
| 1952 | 3.288819 |
| 1953 | 4.020477 |
| 1954 | 3.389217 |
| 1955 | 3.279470 |
| 1956 | 3.514359 |
| 1957 | 3.582358 |
| 1958 | 3.051335 |
| 1959 | 3.255626 |
| 1960 | 3.541445 |
ggplot(del_norte_standard_dev_31_60, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
SD for water years 1931 - 1960
1931 - 1960 Mann-Kendall & Sen’s Slope
sd_mk_31_60 <- mk.test(del_norte_standard_dev_31_60$sd_2)
print(sd_mk_31_60)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_31_60$sd_2
## z = 1.57, n = 30, p-value = 0.1164
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 89.0000000 3141.6666667 0.2045977
sd_sens_31_60 <- sens.slope(del_norte_standard_dev_31_60$sd_2)
print(sd_sens_31_60)
##
## Sen's slope
##
## data: del_norte_standard_dev_31_60$sd_2
## z = 1.57, n = 30, p-value = 0.1164
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.002312981 0.024977931
## sample estimates:
## Sen's slope
## 0.01345518
Summer temperature standard deviation
# using the 1931- 1960 data frame
del_norte_standard_dev_all_31_60_summer <- del_norte_daily_wy_aver_31_60 %>%
filter(waterDay >= 244 & waterDay <= 335) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_31_60_summer <- del_norte_standard_dev_all_31_60_summer %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_31_60_summer %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1931 | 1.357917 |
| 1932 | 1.444201 |
| 1933 | 1.441354 |
| 1934 | 1.272179 |
| 1935 | 1.209747 |
| 1936 | 1.837705 |
| 1937 | 2.354713 |
| 1938 | 1.630502 |
| 1939 | 1.946711 |
| 1940 | 1.652860 |
| 1941 | 1.743069 |
| 1942 | 1.523017 |
| 1943 | 1.703816 |
| 1944 | 1.519863 |
| 1945 | 1.988650 |
| 1946 | 2.014436 |
| 1947 | 2.096767 |
| 1948 | 2.069391 |
| 1949 | 1.283852 |
| 1950 | 2.173349 |
| 1951 | 1.866589 |
| 1952 | 1.773101 |
| 1953 | 1.646071 |
| 1954 | 1.856894 |
| 1955 | 1.877769 |
| 1956 | 1.840758 |
| 1957 | 2.065215 |
| 1958 | 1.685443 |
| 1959 | 1.456781 |
| 1960 | 1.693242 |
ggplot(del_norte_standard_dev_all_31_60_summer, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Summer season SD for water years 1931 - 1960
Mann-Kendall & Sen’s Slope
Summer 31-60 standard deviations.
sd_mk_31_60_summer <- mk.test(del_norte_standard_dev_all_31_60_summer$sd_2)
print(sd_mk_31_60_summer)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_31_60_summer$sd_2
## z = 1.7127, n = 30, p-value = 0.08676
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 97.0000000 3141.6666667 0.2229885
sd_sens_31_60_summer <- sens.slope(del_norte_standard_dev_all_31_60_summer$sd_2)
print(sd_sens_31_60_summer)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_31_60_summer$sd_2
## z = 1.7127, n = 30, p-value = 0.08676
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.002846981 0.023974556
## sample estimates:
## Sen's slope
## 0.01118667
Winter temperature standard deviation
# using the 31-60 data frame
del_norte_standard_dev_all_31_60_winter <- del_norte_daily_wy_aver_31_60 %>%
filter(waterDay >= 32 & waterDay <= 182) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_31_60_winter <- del_norte_standard_dev_all_31_60_winter %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_31_60_winter %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1931 | 3.644805 |
| 1932 | 5.170104 |
| 1933 | 4.947210 |
| 1934 | 3.322783 |
| 1935 | 4.275249 |
| 1936 | 3.149329 |
| 1937 | 4.163917 |
| 1938 | 3.449850 |
| 1939 | 4.597173 |
| 1940 | 4.270947 |
| 1941 | 3.683929 |
| 1942 | 4.016393 |
| 1943 | 3.641176 |
| 1944 | 4.104933 |
| 1945 | 3.017130 |
| 1946 | 3.902809 |
| 1947 | 3.883944 |
| 1948 | 4.671679 |
| 1949 | 4.237985 |
| 1950 | 4.277180 |
| 1951 | 4.347027 |
| 1952 | 4.047289 |
| 1953 | 5.283903 |
| 1954 | 4.563898 |
| 1955 | 4.265180 |
| 1956 | 4.730117 |
| 1957 | 4.391196 |
| 1958 | 3.990812 |
| 1959 | 3.813852 |
| 1960 | 4.369029 |
ggplot(del_norte_standard_dev_all_31_60_winter, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Winter season SD for water years 1931 - 1960
Mann-Kendall & Sen’s Slope
1931 - 1960 winter Mann-Kendall & Sen’s Slope
sd_mk_31_60_winter <- mk.test(del_norte_standard_dev_all_31_60_winter$sd_2)
print(sd_mk_31_60_winter)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_31_60_winter$sd_2
## z = 1.2489, n = 30, p-value = 0.2117
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 71.0000000 3141.6666667 0.1632184
sd_sens_31_60_winter <- sens.slope(del_norte_standard_dev_all_31_60_winter$sd_2)
print(sd_sens_31_60_winter)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_31_60_winter$sd_2
## z = 1.2489, n = 30, p-value = 0.2117
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.01086401 0.04151798
## sample estimates:
## Sen's slope
## 0.01650605
#average water year temperature
del_norte_yearly_wy_aver_61_90 <- del_norte_clean %>%
filter(waterYear >= 1961 & waterYear <= 1990) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_61_90 <- del_norte_yearly_wy_aver_61_90 %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_61_90 <- del_norte_daily_wy_aver_61_90 %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_61_90$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_61_90 <- del_norte_daily_wy_aver_61_90 %>%
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual)))
del_norte_standard_dev_61_90 <- del_norte_standard_dev_61_90 %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_61_90 %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1961 | 2.652011 |
| 1962 | 3.838105 |
| 1963 | 3.849170 |
| 1964 | 3.400975 |
| 1965 | 3.510945 |
| 1966 | 3.457497 |
| 1967 | 3.418993 |
| 1968 | 3.074156 |
| 1969 | 3.359801 |
| 1970 | 3.825266 |
| 1971 | 4.060860 |
| 1972 | 3.569781 |
| 1973 | 3.170185 |
| 1974 | 3.312662 |
| 1975 | 3.157682 |
| 1976 | 3.102911 |
| 1977 | 3.190448 |
| 1978 | 3.131516 |
| 1979 | 3.771941 |
| 1980 | 3.361648 |
| 1981 | 3.511685 |
| 1982 | 3.252683 |
| 1983 | 3.364953 |
| 1984 | 3.869026 |
| 1985 | 3.356020 |
| 1986 | 3.555517 |
| 1987 | 3.118324 |
| 1988 | 3.251738 |
| 1989 | 3.520066 |
| 1990 | 3.140466 |
ggplot(del_norte_standard_dev_61_90, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
SD for water years 1961 - 1990
1961 - 1990 Mann-Kendall & Sen’s Slope
sd_mk_61_90 <- mk.test(del_norte_standard_dev_61_90$sd_2)
print(sd_mk_61_90)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_61_90$sd_2
## z = -0.82069, n = 30, p-value = 0.4118
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## -47.000000 3141.666667 -0.108046
sd_sens_61_90 <- sens.slope(del_norte_standard_dev_61_90$sd_2)
print(sd_sens_61_90)
##
## Sen's slope
##
## data: del_norte_standard_dev_61_90$sd_2
## z = -0.82069, n = 30, p-value = 0.4118
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.019247118 0.007185514
## sample estimates:
## Sen's slope
## -0.005340888
Summer temperature standard deviation
# using the 1961- 1990 data frame
del_norte_standard_dev_all_61_90_summer <- del_norte_daily_wy_aver_61_90 %>%
filter(waterDay >= 244 & waterDay <= 335) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_61_90_summer <- del_norte_standard_dev_all_61_90_summer %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_61_90_summer %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1961 | 1.552531 |
| 1962 | 1.563890 |
| 1963 | 1.471129 |
| 1964 | 1.781435 |
| 1965 | 1.562627 |
| 1966 | 1.327834 |
| 1967 | 1.869669 |
| 1968 | 1.829171 |
| 1969 | 2.254014 |
| 1970 | 2.047500 |
| 1971 | 1.573143 |
| 1972 | 1.842777 |
| 1973 | 2.353221 |
| 1974 | 1.969620 |
| 1975 | 1.575966 |
| 1976 | 1.778709 |
| 1977 | 1.501636 |
| 1978 | 1.556862 |
| 1979 | 1.782639 |
| 1980 | 1.538799 |
| 1981 | 2.258635 |
| 1982 | 1.740249 |
| 1983 | 2.010755 |
| 1984 | 1.651535 |
| 1985 | 2.118872 |
| 1986 | 1.652165 |
| 1987 | 1.792312 |
| 1988 | 1.704304 |
| 1989 | 1.555450 |
| 1990 | 2.128402 |
ggplot(del_norte_standard_dev_all_61_90_summer, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Summer season SD for water years 1961 - 1990
Mann-Kendall & Sen’s Slope
Summer 61-90 standard deviations.
sd_mk_61_90_summer <- mk.test(del_norte_standard_dev_all_61_90_summer$sd_2)
print(sd_mk_61_90_summer)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_61_90_summer$sd_2
## z = 1.1418, n = 30, p-value = 0.2535
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 65.0000000 3141.6666667 0.1494253
sd_sens_61_90_summer <- sens.slope(del_norte_standard_dev_all_61_90_summer$sd_2)
print(sd_sens_61_90_summer)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_61_90_summer$sd_2
## z = 1.1418, n = 30, p-value = 0.2535
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.004230137 0.016068404
## sample estimates:
## Sen's slope
## 0.004758143
Winter temperature standard deviation
# using the 61-90 data frame
del_norte_standard_dev_all_61_90_winter <- del_norte_daily_wy_aver_61_90 %>%
filter(waterDay >= 32 & waterDay <= 182) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_61_90_winter <- del_norte_standard_dev_all_61_90_winter %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_61_90_winter %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1961 | 3.040037 |
| 1962 | 5.079023 |
| 1963 | 5.468558 |
| 1964 | 4.400891 |
| 1965 | 4.534426 |
| 1966 | 4.634512 |
| 1967 | 3.961144 |
| 1968 | 3.817035 |
| 1969 | 4.296435 |
| 1970 | 4.472217 |
| 1971 | 5.255746 |
| 1972 | 4.671240 |
| 1973 | 3.035805 |
| 1974 | 4.129045 |
| 1975 | 4.051736 |
| 1976 | 3.923459 |
| 1977 | 4.039750 |
| 1978 | 3.329846 |
| 1979 | 4.478687 |
| 1980 | 4.196422 |
| 1981 | 3.982774 |
| 1982 | 4.165896 |
| 1983 | 3.409845 |
| 1984 | 4.301257 |
| 1985 | 3.963049 |
| 1986 | 4.594538 |
| 1987 | 3.908011 |
| 1988 | 3.701619 |
| 1989 | 4.371704 |
| 1990 | 3.746830 |
ggplot(del_norte_standard_dev_all_61_90_winter, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Winter season SD for water years 1961 - 1990
Mann-Kendall & Sen’s Slope
1961 - 1990 winter Mann-Kendall & Sen’s Slope
sd_mk_61_90_winter <- mk.test(del_norte_standard_dev_all_61_90_winter$sd_2)
print(sd_mk_61_90_winter)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_61_90_winter$sd_2
## z = -1.7841, n = 30, p-value = 0.07441
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## -101.0000000 3141.6666667 -0.2321839
sd_sens_61_90_winter <- sens.slope(del_norte_standard_dev_all_61_90_winter$sd_2)
print(sd_sens_61_90_winter)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_61_90_winter$sd_2
## z = -1.7841, n = 30, p-value = 0.07441
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.043243697 0.002862457
## sample estimates:
## Sen's slope
## -0.02253227
#average water year temperature
del_norte_yearly_wy_aver_91_20 <- del_norte_clean %>%
filter(waterYear >= 1991 & waterYear <= 2020) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_91_20 <- del_norte_yearly_wy_aver_91_20 %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_91_20 <- del_norte_daily_wy_aver_91_20 %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_91_20$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_91_20 <- del_norte_daily_wy_aver_61_90 %>%
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual)))
del_norte_standard_dev_91_20 <- del_norte_standard_dev_91_20 %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_91_20 %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1961 | 2.652011 |
| 1962 | 3.838105 |
| 1963 | 3.849170 |
| 1964 | 3.400975 |
| 1965 | 3.510945 |
| 1966 | 3.457497 |
| 1967 | 3.418993 |
| 1968 | 3.074156 |
| 1969 | 3.359801 |
| 1970 | 3.825266 |
| 1971 | 4.060860 |
| 1972 | 3.569781 |
| 1973 | 3.170185 |
| 1974 | 3.312662 |
| 1975 | 3.157682 |
| 1976 | 3.102911 |
| 1977 | 3.190448 |
| 1978 | 3.131516 |
| 1979 | 3.771941 |
| 1980 | 3.361648 |
| 1981 | 3.511685 |
| 1982 | 3.252683 |
| 1983 | 3.364953 |
| 1984 | 3.869026 |
| 1985 | 3.356020 |
| 1986 | 3.555517 |
| 1987 | 3.118324 |
| 1988 | 3.251738 |
| 1989 | 3.520066 |
| 1990 | 3.140466 |
ggplot(del_norte_standard_dev_91_20, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
SD for water years 1991 - 2020
1991 - 2020 Mann-Kendall & Sen’s Slope
sd_mk_91_20 <- mk.test(del_norte_standard_dev_91_20$sd_2)
print(sd_mk_91_20)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_91_20$sd_2
## z = -0.82069, n = 30, p-value = 0.4118
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## -47.000000 3141.666667 -0.108046
sd_sens_91_20 <- sens.slope(del_norte_standard_dev_91_20$sd_2)
print(sd_sens_91_20)
##
## Sen's slope
##
## data: del_norte_standard_dev_91_20$sd_2
## z = -0.82069, n = 30, p-value = 0.4118
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.019247118 0.007185514
## sample estimates:
## Sen's slope
## -0.005340888
Summer temperature standard deviation
# using the 1991- 2020 data frame
del_norte_standard_dev_all_91_20_summer <- del_norte_daily_wy_aver_91_20 %>%
filter(waterDay >= 244 & waterDay <= 335) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_91_20_summer <- del_norte_standard_dev_all_91_20_summer %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_91_20_summer %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1991 | 1.539861 |
| 1992 | 1.920572 |
| 1993 | 1.814709 |
| 1994 | 1.568152 |
| 1995 | 2.299793 |
| 1996 | 1.574377 |
| 1997 | 1.673528 |
| 1998 | 1.922938 |
| 1999 | 1.721594 |
| 2000 | 1.601182 |
| 2001 | 1.627835 |
| 2002 | 1.672425 |
| 2003 | 2.074105 |
| 2004 | 2.227562 |
| 2005 | 1.832692 |
| 2006 | 1.985751 |
| 2007 | 1.700212 |
| 2008 | 1.834979 |
| 2009 | 1.773057 |
| 2010 | 1.875866 |
| 2011 | 1.460643 |
| 2012 | 1.504805 |
| 2013 | 2.219445 |
| 2014 | 1.840426 |
| 2015 | 1.755329 |
| 2016 | 1.991201 |
| 2017 | 1.959171 |
| 2018 | 1.780971 |
| 2019 | 1.815002 |
| 2020 | 1.852469 |
ggplot(del_norte_standard_dev_all_91_20_summer, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Summer season SD for water years 1991 - 2020
Mann-Kendall & Sen’s Slope
Summer 91-20 standard deviations.
sd_mk_91_20_summer <- mk.test(del_norte_standard_dev_all_91_20_summer$sd_2)
print(sd_mk_91_20_summer)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_91_20_summer$sd_2
## z = 1.2489, n = 30, p-value = 0.2117
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 71.0000000 3141.6666667 0.1632184
sd_sens_91_20_summer <- sens.slope(del_norte_standard_dev_all_91_20_summer$sd_2)
print(sd_sens_91_20_summer)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_91_20_summer$sd_2
## z = 1.2489, n = 30, p-value = 0.2117
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.003960904 0.013198708
## sample estimates:
## Sen's slope
## 0.006701254
Winter temperature standard deviation
# using the 91-20 data frame
del_norte_standard_dev_all_91_20_winter <- del_norte_daily_wy_aver_91_20 %>%
filter(waterDay >= 32 & waterDay <= 182) %>% # this might be better off as daymonth rather than day of water year due to leap year
group_by(waterYear) %>%
mutate(residual = (all_ave_temp-aver_ann_temp)+avg_T_c-aver_day_temp) %>%
mutate(deviation = abs(residual-lag(residual))) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_standard_dev_all_91_20_winter <- del_norte_standard_dev_all_91_20_winter %>%
group_by(waterYear) %>%
mutate(resid_mean = mean(residual)) %>%
mutate(sd_1 = residual-resid_mean) %>%
mutate(sd_2 = (((sum((sd_1)^2))/((nmbr-1))))^(0.5)) %>%
distinct(sd_2, .keep_all = TRUE) %>%
select(waterYear, sd_2)
del_norte_standard_dev_all_91_20_winter %>%
kable(.,'html') %>%
kable_styling() %>%
scroll_box(width='250px',height='500px')
| waterYear | sd_2 |
|---|---|
| 1991 | 4.305480 |
| 1992 | 3.361147 |
| 1993 | 3.592868 |
| 1994 | 3.827918 |
| 1995 | 4.190223 |
| 1996 | 4.230802 |
| 1997 | 4.220827 |
| 1998 | 3.428370 |
| 1999 | 3.797588 |
| 2000 | 3.836822 |
| 2001 | 3.905816 |
| 2002 | 3.816384 |
| 2003 | 3.883725 |
| 2004 | 4.645949 |
| 2005 | 4.237901 |
| 2006 | 4.365107 |
| 2007 | 4.778690 |
| 2008 | 4.917485 |
| 2009 | 3.921060 |
| 2010 | 3.659791 |
| 2011 | 4.799234 |
| 2012 | 3.931567 |
| 2013 | 5.235721 |
| 2014 | 4.016448 |
| 2015 | 4.022615 |
| 2016 | 3.771542 |
| 2017 | 3.896221 |
| 2018 | 3.612361 |
| 2019 | 3.921619 |
| 2020 | 3.697315 |
ggplot(del_norte_standard_dev_all_91_20_winter, aes(x = waterYear, y = sd_2))+#, color = waterYear)) +
geom_line(size= 0.7) +
#geom_line(aes) +
theme_few() +
geom_smooth(method = "lm", se=FALSE) +
ylab('SD') +
xlab('Water year')
Winter season SD for water years 1991 - 2020
Mann-Kendall & Sen’s Slope
1991 - 2020 winter Mann-Kendall & Sen’s Slope
sd_mk_91_20_winter <- mk.test(del_norte_standard_dev_all_91_20_winter$sd_2)
print(sd_mk_91_20_winter)
##
## Mann-Kendall trend test
##
## data: del_norte_standard_dev_all_91_20_winter$sd_2
## z = 0.67796, n = 30, p-value = 0.4978
## alternative hypothesis: true S is not equal to 0
## sample estimates:
## S varS tau
## 3.900000e+01 3.141667e+03 8.965517e-02
sd_sens_91_20_winter <- sens.slope(del_norte_standard_dev_all_91_20_winter$sd_2)
print(sd_sens_91_20_winter)
##
## Sen's slope
##
## data: del_norte_standard_dev_all_91_20_winter$sd_2
## z = 0.67796, n = 30, p-value = 0.4978
## alternative hypothesis: true z is not equal to 0
## 95 percent confidence interval:
## -0.01252701 0.02017045
## sample estimates:
## Sen's slope
## 0.004767841
(from 356:)
del_norte_yearly_wy_aver_1991_2022_CN <- del_norte_clean %>%
filter(waterYear >= 1991 & waterYear <= 2022) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_1991_2022_CN <- del_norte_yearly_wy_aver_1991_2022_CN %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_1991_2022_CN <- del_norte_daily_wy_aver_1991_2022_CN %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_1991_2022_CN$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_daily_wy_aver_1991_2022_CN2 <- del_norte_daily_wy_aver_1991_2022_CN %>%
#filter(waterYear == "1987" | waterYear == "2021") %>%
group_by(waterDay) %>%
mutate(date_temp = mean(avg_T_c))%>%
select(waterDay, date_temp) %>%
distinct(waterDay, .keep_all = TRUE)
del_norte_daily_wy_aver_1991_2022_CN2$date_temp <- signif(del_norte_daily_wy_aver_1991_2022_CN2$date_temp,3) #reduce the sig figs
ggplot(del_norte_daily_wy_aver_1991_2022_CN2, aes(x = waterDay, y = date_temp))+#, color = waterYear)) +
geom_line(size= 0.7) +
theme_few()
del_norte_yearly_wy_aver_1961_1990_CN <- del_norte_clean %>%
filter(waterYear >= 1961 & waterYear <= 1990) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_1961_1990_CN <- del_norte_yearly_wy_aver_1961_1990_CN %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_1961_1990_CN <- del_norte_daily_wy_aver_1961_1990_CN %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_1961_1990_CN$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_daily_wy_aver_1961_1990_CN2 <- del_norte_daily_wy_aver_1961_1990_CN %>%
#filter(waterYear == "1987" | waterYear == "2021") %>%
group_by(waterDay) %>%
mutate(date_temp = mean(avg_T_c))%>%
select(waterDay, date_temp) %>%
distinct(waterDay, .keep_all = TRUE)
del_norte_daily_wy_aver_1961_1990_CN2$date_temp <- signif(del_norte_daily_wy_aver_1961_1990_CN2$date_temp,3) #reduce the sig figs
ggplot(del_norte_daily_wy_aver_1961_1990_CN2, aes(x = waterDay, y = date_temp))+#, color = waterYear)) +
geom_line(size= 0.7) +
theme_few()
del_norte_yearly_wy_aver_1931_1960_CN <- del_norte_clean %>%
filter(waterYear >= 1931 & waterYear <= 1960) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_1931_1960_CN <- del_norte_yearly_wy_aver_1931_1960_CN %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_1931_1960_CN <- del_norte_daily_wy_aver_1931_1960_CN %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_1931_1960_CN$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_daily_wy_aver_1931_1960_CN2 <- del_norte_daily_wy_aver_1931_1960_CN %>%
#filter(waterYear == "1987" | waterYear == "2021") %>%
group_by(waterDay) %>%
mutate(date_temp = mean(avg_T_c))%>%
select(waterDay, date_temp) %>%
distinct(waterDay, .keep_all = TRUE)
del_norte_daily_wy_aver_1931_1960_CN2$date_temp <- signif(del_norte_daily_wy_aver_1931_1960_CN2$date_temp,3) #reduce the sig figs
ggplot(del_norte_daily_wy_aver_1931_1960_CN2, aes(x = waterDay, y = date_temp))+#, color = waterYear)) +
geom_line(size= 0.7) +
theme_few()
del_norte_yearly_wy_aver_1901_1930_CN <- del_norte_clean %>%
filter(waterYear >= 1901 & waterYear <= 1930) %>%
group_by(waterYear) %>%
mutate(aver_ann_temp = mean(avg_T_c))
#Average temperature by day for all water years:
del_norte_daily_wy_aver_1901_1930_CN <- del_norte_yearly_wy_aver_1901_1930_CN %>%
group_by(daymonth) %>%
mutate(aver_day_temp = mean(avg_T_c))
#average mean temperature by day for the period of record:
del_norte_daily_wy_aver_1901_1930_CN <- del_norte_daily_wy_aver_1901_1930_CN %>%
group_by(daymonth) %>%
mutate(all_ave_temp = mean(del_norte_daily_wy_aver_1901_1930_CN$aver_day_temp)) %>%
group_by(waterYear) %>%
mutate(nmbr = n())
del_norte_daily_wy_aver_1901_1930_CN2 <- del_norte_daily_wy_aver_1901_1930_CN %>%
#filter(waterYear == "1987" | waterYear == "2021") %>%
group_by(waterDay) %>%
mutate(date_temp = mean(avg_T_c))%>%
select(waterDay, date_temp) %>%
distinct(waterDay, .keep_all = TRUE)
del_norte_daily_wy_aver_1901_1930_CN2$date_temp <- signif(del_norte_daily_wy_aver_1901_1930_CN2$date_temp,3) #reduce the sig figs
ggplot(del_norte_daily_wy_aver_1901_1930_CN2, aes(x = waterDay, y = date_temp))+#, color = waterYear)) +
geom_line(size= 0.7) +
theme_few()
climate_norm <- left_join(del_norte_daily_wy_aver_1991_2022_CN2, del_norte_daily_wy_aver_1961_1990_CN2, by= 'waterDay')
climate_norm <- left_join(climate_norm, del_norte_daily_wy_aver_1931_1960_CN2, by= 'waterDay')
climate_norm <- left_join(climate_norm, del_norte_daily_wy_aver_1901_1930_CN2, by= 'waterDay')
ggplot(climate_norm, aes(x=waterDay)) +
#scale_size_manual(values=c("FALSE"=5,"TRUE"=8)) +
#scale_color_manual(values=c("FALSE"='#CC0000',"TRUE"='black')) +
geom_line(aes(y = date_temp.x), size =1, color = "orange")+
geom_line(aes(y = date_temp.y), size =1, color = "darkgreen")+
geom_line(aes(y = date_temp.x.x), size =1, color = "purple")+
geom_line(aes(y = date_temp.y.y), size =1, color= "red")+
theme_few()+
scale_colour_manual("", breaks=c("date_temp.x","date_temp.y","date_temp.x.x", "date_temp.y.y"), values=c("date_temp.x" = "orange", "date_temp.y" = "darkgreen", "date_temp.x.x" = "purple", "date_temp.y.y" = "red"))+
xlab("Day of Year")+
ylab("Average temperature")